Archive for May, 2007

Report from Wiki Mountain

Earlier this month I attended one of the strangest tech conferences I’ve ever been to: “RoCoCoCamp Montreal.” Contrary to what you might guess, it was not a summer camp for those who want to use The GIMP to decorate their blogs in the the 18th-century French art style. It was actually a conference (technically an “unconference“) on wikis! Not just Wikipedia but wikis in general — wiki software, wiki interoperability, wiki culture, wiki politics, wiki wiki wiki. Yet, it was more than that. I’m still trying to process it all…

I’m working on a new wiki project called Keiki and so I’m trying to learn as much as I can about wikis in general. My friends Evan and Maj who founded Wikitravel helped put on RoCoCo and let me stay with them while I attending the conference (thanks!). Somehow, all the stars aligned and I made my way to Montréal, Canada to delve into the frontier of wikidom.

“RoCoCo” is an acronym with a nebulous origin, but it somehow stand for “Rencontres sur la Collaboration, la Créativité et l’Autogestion” (Meetings on Collaboration, Creativity and Self-management). The anglophone name for the conference was “RecentChangesCamp Montreal.” RecentChanges is a term for the global history page that most wikis have. I think the français name was an attempt to make the regional French-speaking attendees feel more comfortable. Everything during the conference took twice as long because first things had to be said in English and then again in French (or vise versa), but that was fine by me (when in Rome…)

Several things made RoCoCo different from other tech conferences I’ve been to. First, there were plenty of hardcore geeks and programmers for sure, but there were also lots of artists, political activist types, downright hippies, and all sorts of other people who aren’t necessarily interested in technology for its own sake, and everything in between. I swear there were people there who don’t even own computers.

Open Space Technology

Secondly, the conference itself was a meatspace wiki of sorts. I understood that RoCoCo would be an unconference, but I didn’t quite know what that meant. No central authority coordinates or approves the content of an unconference; the participants are supposed to take care of that on their own. My expectation was that participants would come to the party with canned, or semi-worked out presentations and demos, and then everyone would somehow gravitate to the most interesting ones. There was a smattering of that, but usually the sessions were created and run spontaneously. The big-screen projectors provided for the attendees were eschewed in favor of ad-hoc, pow-wow style discussions punctuated by occasional bouts of people flailing around with markers and paper. This is referred to as “Open Space Technology” (OST), which seems to be a whole cottage industry and phenomenon of its own.

After some initial speeches from the organizers laying out the OST concepts and a pass-the-mic introduction from the participants, large index cards and markers were dumped in a pile on the floor in the center of the room and participants scrambled about, writing up proposals for sessions and affixing them to a big sticky schedule board.



Open Space Wall, originally uploaded by eekim.

To my surprise, this way of conducting a conference not only worked, but it worked great! It’s was far more participatory and interactive than any conference I’ve been to before. In fact, despite my predisposition to be antisocial, I joined in and proposed a session myself… why not?

My Session

My session was about features in wiki software for building consensus. Brandon CS Sanders from AboutUs was running a session on building large scale consensus with wikis at the same time. Our sessions seemed to be similar, so we merged them. My central question for the participants was, why is Mediawiki one of the only wiki engines/packages with built-in features for hashing out consensus, specifically features like “talk pages”? Even Mediawiki’s talk pages seem less than ideal for this purpose because they don’t do much for you — there’s no support for threaded discussions (other than indentation), for example.

This question probably comes from my preconceived notions about what wikis are for. I’m most familiar with collaborative writing wiki projects like Wikipedia and Wikitravel in which the end result is a collection of consensus-based essays or articles meant for general consumption. It seems to me that a natural part of that consensus-building process is for people to air their subjective views and then figure out what they can agree upon. So why not design wiki software with that in mind?

Wiki == Emergence Engine?

Apparently, many people think that is only one use of wikis, and wikis can be used for much more. That was surprising to me and one of the big things I learned at RoCoCo. I’m not sure I really understand the ins and outs of it all, but it seems like many people see wikis as some sort of a tool — an “emergence engine” — to allow emergent phenomena to occur from the process of group collaboration. And adding features to wikis that impose structure actually can impede the natural dynamics of wikis. I get the feeling that some people just want an edit button, and that’s it. Wow.

I’m not sure if Brandon is in that camp or not, but he doesn’t care much for talk pages. He doesn’t even like the idea of people signing their posts/statements while trying to come to a consensus. During our session, he asserted, or at least I think he asserted, something like this: considering that a lot of the flame wars and other counter-productive activity in the consensus-building process are tied to individuals and their egos, once identities are removed from the process, people don’t have as much stake in arguing to protect their egos and therefore a lot of the counter-productive stuff just goes away. I’m not sure I buy this based on the horrendous flame-wars I’ve seen in completely anonymous forums, but maybe anonymity can help when trying to reach consensus. It’s an interesting idea.

Brandon wanted to talk about process called “Consensus Polling,” which works without any aid of additional software features, that AboutUs successfully used to come up with a consensus-based policy on how the project should handle adult-related content. It seems to be a complicated form of voting in which the community ends up feeling it has a lot of control over the outcome.

The revolution will be wiki-ized

RoCoCo was also my first introduction to the fervent, activist wing of wiki culture (I guess I’m pretty late to this party). There are a lot of people out there who see wiki as a revolutionary technology destined to change or perhaps take over the world. The zeal of many wiki enthusiasts matches or exceeds any FLOSS zealotry I’ve been witness to (of course, there’s a huge intersection of FLOSS people and wiki people). One of the sessions I went to was entited, “Focused Wiki Evangelism.” The discussion centered around jump-starting a community marketing campaign like “Spread Firefox” for wikis, as well as how to get more people contributing to wikis. A “Spread The Wiki” campaign may coalesce from the discussion. A great idea I heard in this session is wiki software should adopt a universally recognized “edit this” button (icon) on all wiki pages to let web surfers know a given web page is editable (i.e.: he or she is using a wiki). Sort of like the ubiquitous orange RSS button you see on sites that offer RSS feeds.

Little Green Laptops



OLPC & Kiddos, originally uploaded by zcopley.

SJ Klein from the One Laptop per Child (OLPC) Association brought a couple of the latest prototypes of the $100 Laptop to RoCoCo. The machines are super cute and it was nice to get a chance to play with one. It took me a long time to figure out how to open one (you have to flip up the little rabbit ear antennas — duh). I took a bunch of crappy phonecam pictures of them. I went to SJ’s session “One Wiki Per Child,” but I’m still unable to grok how he sees wiki technology working with the OLPC project, other than the obvious examples of stuff like distributing Wikipedia in a frozen form to places in developing world without net access. But I really enjoyed hearing about the design of the machine and how they expect them to be used. I was interested to learn he expects parents to end up as users of the laptops as well as children, although they will be provided by schools and ultimately will belong to the children. Many of the problems in developing countries are educational (e.g.: a water pump might break down because nobody in a village has the training to maintain it). The laptops could function to help parents and communities educate themselves, and bootstrap solutions, etc.

After the sessions were over for the day a bunch of RoCoCoers went out for drinks. I had a discussion with SJ over strong Quebecan beers, but I still don’t understand his vision, which seems to entail a lot of offline wiki writing. In any event, I think OLPC is a great project and I look forward to seeing what kinds of things they end up doing with wikis.

Other Cool Things

The last day of the unconference was called “Convergence,” which entailed more sessions designed to turn the brainstorming and discussion of the previous two days into concrete decisions and plans for the future. There’s a wiki page called “FutureChanges” that attempts to list the results.

I met a lot a interesting people at the conference who I hope I get to interact with more. I got a chance to talk with developers for several big wiki packages, including Patrick Michaud (Pm) of PmWiki, Andreas Gohr of DocuWiki, and Marc Laporte of TikiWiki. Patrick is going to implement “talk pages” in PmWiki, so I know I’m not the only one who likes that feature.

It sounds like the plan is to have next year’s RecentChanges Camp somewhere in the San Francisco Bay Area. Excellent! Hopefully, I can attend and be involved in that.

It was also great to meet the other people involved in Keiki project whom I haven’t met before in person, and catch up with old friends. I think I averaged about four hours of sleep per night, if that, because I spent every night staying up late ranting and raving about wikis, drinking beers, and brainstorming about various projects.

I remember snatchets of conversation with fellow RoCocCoers over huge mixed drinks in Mason jars in some bar somewhere, but not enough to write about. It was fun, though.

Montréal

I didn’t get to see as much of Montréal as I wish I had. I flew in for the conference and flew home the day after. From what I did see, it reminds me of the French Quarter of New Orleans, only implemented as a real city instead of simply an amusement attraction for drunks. There was a whole lot more French-speaking going on for one thing, and unlike New Orleans it felt safe and laid back. I got to see the local Chinatown, which definitely has its own unique character. I think there must be a dozen languages spoken there. I snapped a few slide film shots with my rangefinder camera, so it will be neat to see what if anything I managed to capture when the film comes back from the lab.

I definitely want to go back to Montréal with Wendy and Wyatt for a more extensive visit some day.

May ‘07 East Bay Ruby Meetup

Another month, another Ruby Meetup. The first half was a presentation on Haml (XHTML Abstraction Markup Language), which is a programmer-efficient, meta-language for describing XHTML that sits in for the normal Embedded Ruby (ERB/.rhtml) templating in a Rails app. It looks good. For complex pages using lots of CSS and tables and stuff, it’s way more readable and elegant. I might use it if I end up making tons of templates in a Rails app. Like Python (and YAML), Haml is whitespace sensitive and you have to be real careful to get things just so. In exchange, you end up with something more maintainable and much more human-readable and easier to debug than the usual template deal where you mix code and HTML. I’m a big fan of abstraction and code generation. So, yay: Haml. But right now the “cognitive load” of learning it, as the presenter, Ed Allan, described it makes me want to put it off for another day.

After the break we got a presentation by a couple of guys (MIT brothers?), Zack and Ben Skolnik, who are trying to implement IRC as a Web application via Rails. Their app is called, Netwirc. It’s not an IRC client in Rails — no, they are reinventing the IRC wheel completely and putting as much Web 2.0 spin on it as they can, although I think they are mostly in the flailing around faze for what they might be able to do with it and how they might monetize it. Newirc is a nice little Web app, and a testament to the RAD qualities of Rails that they could put it together so quickly. They launched last September. It seemed like they have implemented a lot of the key functionality of IRC. They said they did it in their spare time, and have recently been trying to make a go of it as a real startup business. It’s rough around the edges, but it works. I had a hard time getting too excited, tho; I’m too busy to even use real IRC. But I wish them luck. The Q/A session focused on how in the world they would scale their app. Good question.

Frankly, I have started questioning the scalability of Rails. I mean, I’m sure you can scale Rails. But Rails people seem especially sensitive and defensive about this question. I’ve been to whole meetings on the subject and so far I haven’t been impressed. A few servers behind a round-robin Apache-based software load balancer is not a big system. As sort of a refugee from the enterprise software world, I’m pretty familiar with building Web applications that have a lot of users. The reality is that nothing seems to scale well. Managing user load is scary even when you have tons of hardware, money and engineering to throw at it. every time your user-base grows significantly, something breaks despite planning. Ruby stuff is not inherently inefficient, it’s just young and the answers and best solutions to everything aren’t apparent yet. Ruby people need to stop acting so defensive and just bust out some load testing and figure it out. The consensus tonight seemed to be, “We’ll worry about that later! And hey it worked for Twitter, right?” No, it didn’t. Prepare for the worst, Rubyists. Assume your apps will explode.

It was also suggested tonight by one of the organizers that instead of just presentations all the time, it might be nice to have some less formal East Bay Ruby Meetups focused on coding and problem solving. Sounds good to me.

Alex Jones: Mean to the Queen

Alex Jones had a good time yelling at the Queen yesterday for “staring” down Bush.
Later he said:

….[I'm sorry?] if I got a little bit angry in the last hour about the Queen of England humiliating the presidency in public… looking at our President with hatred… the whole government worshiping her and calling her Her Majesty, and our leaders bowing to a monarch. But it’s the antithesis of what our nation is. ….

mp3 sound clip

Congrats Wikitravel!

Congratulations to Evan and Maj and all the Wikitravellers for winning a 2007 Webby Award. I guess Wikitravel can’t be all that bad after all.