Saturday, July 3, 2010

RoCoCo 2010 in Montreal - Recap and Impressions

The Recent Changes Camp (also called RoCoCo) was held last weekend (June 25-17) in Montreal. I'm not sure how I heard about it. Possibly someone I follow on twitter commented on tikiwiki, and I checked it out and saw that they were sponsoring a conference near me. I do not "wiki". We use one at work, but I have felt no drive to get involved in the open ones such as wikipedia or wikiHow. But I decided not too long ago to be move involved in what's happening near me, and to actually meet people face to face once in a while. So I went. Their website made it look open enough.

It turns out, that was a good idea.

The first few people I met were welcoming and friendly, so I stayed. "I don't really have anything to do with wikis" was met with "that's cool", and "whoever ends up being there is whoever was meant to be there". I learned first-hand about the openspace technology (well, I'd call it more a philosophy or concept, but it seems that it's usually referred to as a technology). When we got together to set the agenda, I expected people to act like I've always seen people act, shy: "you go first" "no you do". But they couldn't wait for the presenter to give them the floor to introduce the sessions they wanted to host. I suppose I shouldn't have been surprised; many are active wiki or open software contributors, so they do not wait for others to do what they want done - they are doers. Still, for me that set the tone do the day - a very proactive sort of tone. Which eventually led me to co-host a talk (at Mark Dillon's invitation). I hadn't planned on coming back on the Saturday, but I was learning, I was talking to people, I felt part of the group, so I came back.

Why wiki, why not wiki, and why don't more people contribute?

The first session I attended was led by Mark Dillon, and asked "Why wiki?". Many issues were discussed, as you can see from the notes. We discussed how things are, how people use wikis, and how it can make things better. We also looked at some reasons why people do not wiki. The technical aspect came up (wiki syntax can be cumbersome), but I felt they were leaving the "people aspect" out of it a bit- being shy, or... something. We did cover a lot of the features and how they can act to invite users to contribute, or add to the "conversation". After the talk, Mark asked if I would co-host another one on barriers to entry. I don't know if it was his strategy to gently push a newcomer, of it was just the action of a natural leader - either way, it worked, and I accepted. The session happened the next day. I think we covered a lot of "personal" aspects. I personally feel that while the technical complexity may keep some people away, many just don't want to write, either because they are shy, or do not feel the drive to do so. I wanted to explore these in more details, and we certainly did. What came out of it for me, why I think many of us don't contribute, is that we feel we need the permission to edit someone else's text. Even when we know how the system works, we may want to make sure we're not going to hurt the other person's feelings, or possibly miss an important point they were making, or an angle they were trying to give. Another major obstacle is the lack of feedback. If we don't believe that others will review our work and improve on it, there is little to motivate us. What I didn't know is how much of a community the contributors end up creating, and that it is an important factor to current contributors. A very interesting and enlightening set of discussions.

Since then, I have read an article (thanks to Seb Paquet for pointing it out) showing some empirical measurement of the benefits of methods used to encourage people to contribute. I have also encountered the concept of "diffusion of responsibility" and "the bystander effect". The feeling that we don't have to do something; someone else will. I was somewhat familiar with the concept, but now it has a name. And I'm sure it plays a role in whether one contributes to wikis, as well as pretty much any open venture.

Structured wikis, semantic wikis, Semantic web

Here, I mostly took notes, trying furiously to make sense of all the information provided. Structured wikis are those where contributors are asked to fill in fields, rather than (or as well as) come up with the text of the article. It may feel more like entering data into a database. For example, for an entry on an author, the user may be asked for a date of birth, a date of death, schools attended, genre, and a list of titles.

A semantic wiki is one where the occurrence of information with a particular meaning ("this is a city", "this is a person", "this is a date") is annotated as such. This then allows the software to make links between other things that also have that information, such as other authors who were born in the same city, or events that occurred on the same date.

The power of both these wiki styles is greatly improved when they are combined - structured semantic wikis create a wealth of information that can be interrelated by a machine to create a rich set of information.

This is also where I learned about the existence RDF, and the RDF triple: a relation is expressed as 3 components: the subject, the predicate, and the object. I was taken back to 6th grade grammar, but of course it makes sense. If you want to describe a relation you need the the origin of the relation, the type of relation, and the target of the relation: "Bob knows Peter", "Steven King wrote The Stand". I believe someone brought up microformats, which can encode the same information, but differently, in a way that's more accessible on the web. There is so much here to try to make sense of, I'll be spending some serious time puzzling it out. But I think the potential there is obvious. Calling it "Web 3.0" may be an exaggeration, but I don't think it's far off.

Open companies and reputation systems

Bayle Shanks presented the concept of open companies where employees are those who want to work on the company's project, and they get paid according to a rating system by their peers. When I first sat in that session, I expected it to be about open companies in the sense of information flow, not a true open source parallel. Before the talk, I would have thought the whole concept simply crazy, but the culture of open spaces (or this particular one?) is such that we all listened, commented, suggested, brought up issues, without anyone being offensive or dismissive. I'm still not sure it can work in a general setting, but I applaud Bayle for wanting to give it a shot, and I can see some applications where it has some definite potential.

The reputation system he wants to use is quite intriguing. The system sounds simple enough, but I'm not following all the repercussions of money distribution scheme. The interesting bits is that the people who contribute the most also end up being the ones who have the bigger influence on the distribution of rewards (money, reputation, gold stars). This can be useful in a number of non-money applications, too, as a way to recognize the contribution of volunteers, for example. Maybe all wikis should have that!

And here is why keeping an open mind pays. If I had chosen not to listen to the open company part of the session I would never have heard about the reputation system. And boy am I glad I did!

Multilingual wikis

The resources on the net are still mostly in English, but the web as a whole is getting a lot better. At least now, a number of HTTP requests include an Accept-Language header that makes sense for the context. Still, users do not always want to browse a particular site in the language configured in their browsers.

The question was, "how do you handle multilingual wikis"? This can be particularly hard to do when original content can come from any of the supported languages. If someone updates the French version, how do you make sure the changes are included in the English version? Wiki translation shows some promise, but I think there are still more questions than answers on that topic, both for wikis and for websites and social networks in general. I still haven't figured out how to Facebook or Twitter bilingually.

Intent Map

In another session, Seb Paquet introduced the idea of a way to find people who want to work on the same sort of things you want to work on. We discussed this, and by the end of the session, we had agreed to turn this into a project. Others in the group were already familiar with RDF (see section above on semantic web). Someone else brought up FOAF, a specification for identifying people and relations between people. Someone else brought up DOAP. Microformats came up again. I try write down everything I'm going to have to learn about. And yet, I volunteered to code it all. Code what? well, that's the question! I'm not sure what I got myself into. During the session, I mentioned that one way to get widespread visibility would be with a Facebook application, so I have started playing with writing a Facebook application. Since I don't want to worry about hosting the application (and the scraper, and the database that will be needed to support it all) I also started learning about Google App Engine. I even wrote a very simple application that displays inside Facebook, but I'm still sorting out authentication and permissions. It is quite a challenge, but I need to get out of my comfort zone, so this is perfect. I get to play with new (to me) technologies, learn new specifications, and tons of new concepts. I hope I don't disappoint my teammates. I better get coding.

What now?

I met tons of new people. I hosted a session. I am now an official contributor to the wiki (I wrote up some session notes). I volunteered to implement something around a spec that doesn't even exist, with tools and APIs I don't know. This is not the same-old, same-old, but I'm okay with that. And I'm going to do it again, when the opportunity arises again. Thanks to everyone who was there for making it so energizing.