Purple Numbers and WIKIWYG

For a while, it was looking like I was going to break another personal blogging record last month, then things got so busy I had zero time to blog whatsoever. That means I’m in catch up mode again, so as usual, I’ll post in reverse chronological order (which in the blogosphere is really reverse reverse chronological order).    (JYN)

Yesterday, I spent the afternoon at Socialtext, where they were having an all-hands meeting. They graciously invited me to participate in the Open Space segment of their gathering, which meant quality time with Chris Dent and a rare opportunity to evangelize the Church Of Purple together. Of course, Chris has been spreading the Purple religion at Socialtext for a while now, so it wasn’t as much about evangelism as it was about next steps.    (JYO)

As I’ve mentioned many times before, browser-based WYSIWYG editors are an exciting development because they allow us to make Purple Numbers transparent in the authoring process. Right now, when you edit a PurpleWiki page, you see the node ID tags (e.g. {nid 123}). This is impossible to get around with the default browser text-editing widget. However, with a WYSIWYG editor, you can hide the Purple Numbers while still maintaining their associations with a node behind the scenes.    (JYP)

That’s the theory, anyway. In particular, I’ve been excited about WIKIWYG ever since Ross Mayfield showed me an early prototype last August. I had a personal bias, since Chris Dent and Matt Liggett helped write it, as did Casey West and the inimitable Brian Ingerson, whom I finally met last weekend at Tag Camp.    (JYQ)

Yesterday afternoon, we discussed Purple Numbers and WIKIWYG, and it was good. Then in the evening, Ingy and I spent a few hours trying to get WIKIWYG integrated into PurpleWiki.    (JYR)

We didn’t quite make it. Our biggest roadblock was a bug we discovered in Mozilla’s design mode that we can’t do much about. (My days of statically typed languages are well behind me.) But, we got something somewhat working, and I learned a heckuvalot. You can play with our semi-working demo.    (JYS)

WIKIWYG seems well-architected and is easy to customize. For folks with relatively standard Wiki editing requirements, I highly encourage you to play with it. PurpleWiki has some special formatting funkiness (mainly due to the Purple Numbers), but we were able to get around this fairly easily. (This was also true thanks to PurpleWiki‘s model of parsing to an intermediate data structure, then using view drivers to serialize. I wish more Wiki engines did this. I know Magnus Manske is thinking about doing this for Mediawiki, and I think Janne Jalkanen is already doing it with JSPWiki.)    (JYT)

The Mozilla bug annoyed me, because it’s a show-stopper in some ways, and there’s not much I can do about it. I didn’t realize it, but all of the JavaScript WYSIWYG widgets actually switch to the browser’s “design mode” in order to handle WYSIWYG editing. As with many HTML editors, design mode does not handle structure cleanly, and you end up getting weird artifacts such as spurious break tags. Our problem was that we serialize node ID information as id attributes in the HTML tags. However, Firefox does not maintain those attributes correctly when you move content around.    (JYU)

I’ll report the bug (if folks have suggestions as to the best way to bring this to the right people’s attention, let me know), but it also puts the kibosh on my hopes for WIKIWYG and Purple Numbers. Even if the bug is fixed in the next version of Firefox, we’re still prey to all the folks using older versions as well as Internet Explorer or Safari, which have their own problems with design mode.    (JYV)

Chris and I discussed one workaround that I’m still pondering: render the Purple Number and have users be responsible for maintaining the association with the nodes. That’s the status quo, except users are doing it in WikiText rather than in WYSIWYG. Doing it in WYSIWYG certainly lowers the bar, and it’s probably the next best thing for us to do.    (JYW)

BAR Camp 2005 Redux

Thoughts on BAR Camp. Yeah, yeah, a little late, I know. Less late than the rest of my Wikimania notes, though.    (JQX)

Many Hats    (JQY)

The most bizarre experience for me at BAR Camp was the number of people I knew from different worlds. My brain was constantly context-switching. It made me painfully aware of the number of different hats I wear, all in the name of Blue Oxen Associates.    (JQZ)

  • Purple Numbers guy.    (JR0)
  • Wiki geek.    (JR1)
  • Identity Commons contributor.    (JR2)
  • Doug Engelbart translator.    (JR3)
  • Usability guy!!! Obviously because of the sprints I’ve organized, but awkward for me, since I have no actual background in usability.    (JR4)
  • Pattern Language hat. I’ve been doing the collaboration Pattern Language dog-and-pony show the past few months, and some folks who’ve heard me speak on the subject were there. I’ll be doing a lot more of it too, so stay tuned. Patterns are damn important, useful, and interesting.    (JR5)
  • Facilitation / event organizer hat.    (JR6)
  • Nonprofit hat. The lack of nonprofit contingent was disappointing, but I had a good conversation with Ho John Lee, who’s done some great work in that space. (We were also both wearing our Korean hats, along with Min Jung Kim, a rarity at events like these.) I also met Phil Klein, a nonprofit guy who also participated in our usability sprint the following week.    (JR7)
  • Ex-DDJ hat. Some fogies, young and old, remembered me from my magazine days.    (JR8)

All this was testament both to my ADD and to the job Chris Messina, Andy Smith, and the other organizers did in only one week. Three hundred people walked through the doors over the weekend. Amazing.    (JR9)

Talks    (JRA)

The best part of the event was strengthening familiar ties and building new ones. I met lots of great people, including folks I’d only known on the ‘net. I wasn’t blown away by the talks for the most part, but some stood out.    (JRB)

  • Ka-Ping Yee did two talks, one on voting methods and another on phishing. Sadly, I only caught the tail end of the latter, but the Wiki page is fairly complete. I’ve never seen Ping do anything that I didn’t find interesting or, in many cases, profound, and these talks were no exception. (I’ll have more to say on Ping’s latest work in a later blog post.)    (JRC)
  • Xiong Changnian presented some interesting quantitative analysis of the Wikipedia community. I didn’t have as much of an opportunity to talk with Xiong as I’d like, but for those of you who have interacted with him, try not to be turned off by his bluster. He’s doing some good work, and he seems to mean well.    (JRD)
  • Rashmi Sinha and I did a roundtable on Open Source usability on the first night. Afterwards, we both agreed that we didn’t learn much new, but simply having the conversation and especially listening to a new audience was valuable. One unintended outcome: A participant (who shall remain nameless, but not unlinked!) complained about Socialtext‘s usability, which I dutifully reported on the Wiki. Adina Levin and Ross Mayfield quickly responded, saying they’re looking to hire a usability person. If you’re in the market, let them know.    (JRE)

I was so busy chatting with people, I also ended up missing a bunch of good talks: Rashmi’s tagging session, Rowan Nairn on structured data for the masses, and Tom Conrad‘s Pandora talk, which seemed to generate the most buzz at the camp.    (JRF)

Throwing Great Events    (JRG)

I toyed with the idea of doing a techie session, but in the end, the talk I should have done was one on patterns and throwing great events. BAR Camp was great, and as with all great collaborative events, there were some common patterns:    (JRH)

  • Food. One of the most critical and, amazingly, most overlooked element in an event. Lots of credit goes to Kitt Hodsden, who made sure there were enough snacks to feed a small country, and the sponsors, who kept the beer flowing and underwrote the party on Saturday night.    (JRI)
  • Introduce Yourself. The organizers borrowed the FOO Camp tradition of saying your name and three words to describe yourself, and they did it each day.    (JRJ)
  • Shared Display and Report Out. Folks did a great job of documenting on the Wiki and on their blogs and Flickr. BAR Camp owned the foobar Flickr fight.    (JRK)
  • Backchannel. I’m not a big fan of IRC at face-to-face events, and there were definitely times when I thought it detracted from the face-to-face interactions. But, it was there, and it was useful. It wasn’t logged, though.    (JRL)
  • Permission To Participate. Lots of Open Space techniques were present — again, borrowed from FOO Camp — like the butcher paper for scheduling sessions. Lots of this was also cultural, though. I think this is the hardest thing for folks who do not live in the Silicon Valley to get — the spirit of sharing that comes so naturally to folks here.    (JRM)

I’d do two things differently at the next event:    (JRN)

  • Incorporate a ritual for new attendees to make them feel welcome and to avoid clique-formation.    (JRO)
  • Add slightly more structure. Now that the organizers have done it once, they can use it as a template for the next event — for example, publishing the time slots ahead of time, and actually enforcing them, at least as far as room usage is concerned. Also, I like scheduled Report Out sessions.    (JRP)

In the postmortem, we talked a bit about what BAR Camp is supposed to be, and I really liked how Chris positioned it: As a model for organizing grassroots, free (or very cheap) alternatives to more expensive gatherings. I’m toying with the idea of incorporating BAR Camp-style alternatives to complement some non-free events I’m organizing.    (JRQ)

The Unjoy of Panels

I’m a veteran panel moderator. I’ve been doing it since high school, and I think I’m pretty good at it. But I’m thinking about retiring from the business.    (JKL)

Last week, I moderated the SofTECH / SDForum July meeting on “Architecting Community and Collaboration Solutions.” Tony Christopher had suggested me to Ron Lichty, the meeting producer. Ron and I, as it turned out, had met a few years earlier at a GivingSpace workshop. Ron explained to me his goals for the panel, told me who the panelists would be, and I said, “Sign me up!”    (JKM)

The panel went well. The panelists — Tony Christopher, Zack Rosen, Sylvia Marino, and Scott Wilder — were great. Everyone told lots of great stories, but also respected the other panelists, and no one tried to dominate the floor, which made my job incredibly easy. More importantly, the audience was engaged with the topic and the panelists. Ron was great also. He had done a masterful job of organizing the event and preengaging the panel.    (JKN)

The problem was that the panel format was wrong. Panels work best when they emerge as entertaining and informative roundtable discussions. As good as our panelists were, that was not going to happen, because the format did not optimally align with our goal — educating the audience. A panel format can achieve this goal — and ours did — but only in a broadcast model, which does not maximize group potential.    (JKO)

It was clear from an informal poll I took at the beginning of the panel and the number of faces I recognized that we had a lot of expertise in the audience itself. It would have been far more engaging and educational for all involved had we done a more interactive format, where we spent an hour in break-outs, possibly followed by a moderated plenary discussion. The panelists, in this scenario, would have been co-participants with the rest of the audience.    (JKP)

I moderated two panels and gave a talk at last June’s Collaborative Technologies Conference. One panel was in a traditional format for reasons largely out of my control, but I decided to play with the other two formats. In both of those cases, I turned the tables on the audience, rearranging the stage format into a circle, and basically played discussion moderator rather than panel moderator. Several people had already camped out in the back with their laptops open — almost assuredly planning to check email rather than listen to the talk — and a look of fear and shock came over their eyes when I told them to join me in the circle.    (JKQ)

Several people approached me afterwards and praised the format. (My favorite moment was one night at dinner, when I introduced myself to Stowe Boyd, who wrote a great essay on panels. Upon hearing my name, Stowe said, “I want to thank you.” I was completely baffled by this, as we had never met, and Stowe had not attended any of my talks. Apparently, he had heard about my panels — probably from Arieanna Foley — and he was grateful that someone had tried something different.) These folks were clearly suffering from panel fatigue, and just the fact that we were doing something different and engaging improved the experience wildly for them. I guarantee that the circle format was also more informative for the audience as a whole, because it addressed their specific concerns and it introduced a set of viewpoints far more rich than just mine or a panel’s.    (JKR)

As much as people respond to these more interactive formats, they are mere baby steps. Kindergarteners get in circles, for pete’s sake. Pre-school can be fun, but once you’ve been in kindergarten, you don’t want to go back. Facilitation techniques like Conversation Cafe and Open Space are at the first grade level, Aspiration is at second grade, and MGTaylor is at third. The latter techniques augmented with cutting edge collaborative tools is at least the fourth grade level, and we’ve only scratched the surface as to what’s possible. It’s just sad that the vast majority of conferences are at the pre-school level.    (JKS)

There are situations where panels work well as a format, but they are vastly overdone. In any case, don’t let this post prevent you from inviting me to moderate a panel. Just expect me to make some strong demands concerning format.    (JKT)

(See also Mary Hodder‘s excellent panel diatribe.)    (JKU)

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)