WikiMania Hackfest

I’m in Frankfurt am Main, Germany this week for Wikimania. The conference itself starts on Friday, and I’ll be speaking on the history of collaborative tools on Saturday. With the encouragement of fellow alumnus Samuel Klein, I decided to come a few days early to participate in Hacking Days. It’s been an excellent opportunity to immerse myself with the Mediawiki developers, as well as a way to get to know some of the more active members of the Wikipedia community before the throngs arrive later this week.    (JJD)

It’s been over 15 years since my last trip to Europe, and this is my first work trip here. Frankfurt is as good a place as any to cushion folks like me from culture shock. While I’m nowhere near fluency, English is a Germanic language, and I took two years of high school German, so I recognize vocabulary here and there. Plus, most people speak English, especially here in Frankfurt, which is a European travel hub.    (JJE)

The conference itself is at the Haus der Jugend, a large Youth Hostel in the center of the city. Most of the participants and speakers are staying here at the hostel, which makes things very collegial. I’m rooming with Kurt Jansson, the president of the German chapter of Wikimedia Foundation, and Juan David Ruiz (Chile) and Ascander Suarez (Venezuela), core members of the Spanish chapter. It’s given me both an international take on Wiki culture and a bird’s eye view on the inner workings of the Wikipedia community.    (JJF)

I love the international flavor of the community and the conference itself. I had a great conversation with Delphine Menard, a French woman who handled the event’s logistics. She’s lived all over the world and speaks three languages fluently. As I gushed about the importance of being around a diverse group and about experiencing the feeling of being an outsider, she observed that based on her experiences, in the end, people are more or less the same, regardless of background. True, true. Everybody is people. When you interact with others who are different from yourself, you realize that we all share some very human values. You can’t truly reach that conclusion without experiencing diversity first-hand.    (JJG)

Watching the developers work was interesting. It was very much like watching a face-to-face IRC discussion. Folks sat around a table with their laptops open and participated in multiple conversations — both face-to-face and over IRC — and activities simultaneously. I’ve been playing ethnographer and collecting observations, which I’ll bring to people’s attention more formally on Thursday.    (JJH)

Samuel and I talked a bit about Wikiness and the aversion that hard core Wiki developers seem to have over WYSIWYG editing. WikiText is not essential to the Wikiness of Wikis. Ward Cunningham himself has stated on record that GUI editing is the next big step in the evolution of Wikis.    (JJI)

I’m in Frankfurt through Monday and in Berlin after that, so if you’re in town, let me know.    (JJJ)

PurpleWiki v0.9 Released

PurpleWiki v0.9 is now available. Chris Dent‘s announcement covers the basics. A few words on how we got here, and where we’re going.    (83)

The Wiki Experiment    (84)

When we launched Blue Oxen Associates last December, we made Wikis a core part of our infrastructure. We had two reasons for choosing Wikis. The first was practical. We needed a system for sharing documents and collaborative authoring, and Wikis fit the bill quite nicely.    (85)

The second reason was more philosophical. We wanted a knowledge management system like Doug Engelbart‘s Open Hyperdocument System (OHS), and felt that Wikis already resembled the OHS in many ways. It was immediately usable and useful, while also offering the perfect platform for coevolution.    (86)

PurpleWiki fulfills the following OHS requirements:    (87)

  • Backlinks. This is a core feature of all Wikis, but also one of its most underutilized. In a future version of PurpleWiki, we will create an open API to its Backlink engine, so that other applications (such as blogs) may use it.    (88)
  • Granular Addressability. PurpleWiki‘s site-wide, automatic Purple Number management had the additional benefit of enabling us to quickly experiment and evolve the feature. Node IDs are now document-independent, which has improved usability and enabled features like Transclusions.    (89)
  • Link Types. We’ve added a syntax for specifying link types, and have implemented our first new link type: Transclusions.    (8A)
  • View Control. We can easily add new or customize existing output formats, thanks to PurpleWiki‘s modular architecture. More importantly, we can implement dynamic views, such as a collapsible outline view, of any document on PurpleWiki.    (8B)

PurpleWiki‘s most visible feature is Purple Numbers, but its most important feature is its data architecture. In general, Wikis view the world as a graph of linked documents. PurpleWiki views the world as a graph of linked documents with a unified data model. The data model is sufficiently general and simple to apply to any kind of document. When you use this data model in other applications, you automatically inherit PurpleWiki‘s features. Integrating PurpleWiki with blogs was a piece of cake as a result, and we’ve only begun to explore the ramifications.    (8C)

Next Steps    (8D)

Our roadmap lists several enterprise features we plan on implementing: templates, pluggable database back-ends, mod_perl controller, etc. I consider these important, but relatively mundane. Blue Oxen Associates isn’t in the business of software development; we’re implementing these features because we need them.    (8E)

Blue Oxen Associates is in the business of research and improvement, and of facilitating coevolution. PurpleWiki is an amazing platform for this. One of Chris’s pet projects is to create universal ID space for nodes, possibly based on handles. Think of this as persistent URIs for nodes. Among other things, this will enable us to support Transclusions of content from other sites, not just the site on which PurpleWiki is installed.    (8F)

My long-term interests lie in three areas: the aforementioned open Backlink engine, Wiki page types, and Wiki namespaces. I’ll discuss the latter a bit here.    (8G)

One of the reasons I dislike TWiki is its notion of “webs.” You can partition your Wiki into multiple webs, and each web is contained in its own namespace. The problem with this is that it encourages people to balkanize their Wiki content. That, in my opinion, runs counter to the spirit of Wikis. Early balkanization prevents evolution.    (8H)

Several months ago, Richard Gabriel passed along some insight he had learned from Ward Cunningham: In computer science, you want to keep namespaces separate. With Wikis, you want namespaces to clash. Ward’s idea for SisterSites is one way to create namespace clash. This idea could be taken a step further by allowing site administrators to establish a system of namespace resolution. For example, if a certain page doesn’t exist on a local namespace, the Wiki would search another namespace for that page. If it existed there, the Wiki would simply take the user to that page.    (8I)