Personal wiki: setting up wiki conventions

When collaborating with others, we often set up rules on how we’re going to proceed: we work from 8 to 5. We do meetings once a week. Etc. Standards, laws, rules, call them as you wish, we have a natural tendency to create them to make the environment more predictable and stable (among so many other reasons).

Yet there’s no reason you shouldn’t adopt them when working on your own documents, even if you’re not going to share them. Having evolved my own personal wiki for a few years now, I certainly see their benefits. Here I’ll share a few of my own standards and explain the reasons behind them.

They all have a common root: making the structure stable through time, so you can make a page evolve over many years, as slowly as it needs. It’s always fun to revisit a list I’ve started two years ago, add a new point, close the page, and know the structure is still as valid now as it was back then. No need to start everything over because I left the page in the dark for months. No need to reread everything either: I can easily find the place where I wanted to insert the new point, or get the information I needed.

You can think of it as the you-of-now collaborating with the you-of-the-future, in a sense.

The meta-conventions

The first standard I’ll mention is the “wiki meta” page. This is the page where I document my own conventions. This might seem overkill, but it actually helps in shaping the rules and thinking about them (which is a core reason for writing things down: it makes them clearer). In there, I have

  • The goals of the wiki; its scope.
  • A list of common page sections
  • Format and syntax rules
  • Guiding principles
  • Special keywords and their meaning

I’ll give examples of the content of each of these sections bellow

Common page sections

Perhaps the most useful structural principle I use is the *common sections*. These are similar to common sections you’ll find in a book: table of contents, intro, chapters, conclusion, references, etc. Encyclopedias and Wikipedia page also have patterns in sections. Here’s a list of common sections in my pages, in the order they usually appear on a page:

  • Related entries
  • To do
  • Changelog
  • Glossary
  • Sources of information
  • News
  • Events and people
  • Experience, common traps and mistakes

These are sections which apply to almost any entry. Of course, other patterns emerge in specific areas of the wiki. But you get the idea.

Guiding principles

These are high-level, perhaps even a bit gnomic or philosophical, statements to guide changes in the wiki. Examples of these are:

  • Be precise in meaning, be factual. List references behind noted information to know where it came from, who stands behind it.
  • Have a clear top-down structure for division in subtopics in a page, as much as possible.
  • Constantly think of better ways to organize the entries.
  • Don’t hesitate to link related entries, to move about easily and see structure more clearly.
  • Split entries that get too long into subtopics.

Format standards and precise syntactic rules

These are rules I try to follow regarding the meaning of text markup or special notation. For example:

  • Highlighting an important point is done by bold (vs capitals, italics, highlighting etc.)
  • A new concept or keyword is noted by BOLD AND CAPITAL
  • When an information is uncertain or doubtful, mark it with (??)
  • Use “–” to indicate subsumption in entry titles (ie. “Mammals — Bear”)

I also have a special syntax for:

  • Dates: I date almost every section and bullet point I write. That way, I can clearly see when something appeared, how the page evolved. WikidPad has a keyboard shortcut to insert a date formatted the way you like, by the way.
  • Tags: Wiki links do a good job for most structure needs, but I nevertheless use tags here and there for tranversal considerations and classifying subpoints in multiple pages (cf. my related WikidPad extension).

Further reading

I haven’t read it myself, but the Manual of Style of Wikipedia seems interesting if you want some more inspiration for convention ideas.

Mind maps

(To be expanded)

As a quick intro, mind maps are visual representations of mostly-hierarchical points, centered around a core concept usually. The accent is on the visual aspect, which helps in the task for which mind maps are often used: brainstorming, reviewing, summarizing, etc. Proponents of the method tend to say that mind maps “appeal to the way the brain works”, the brain being this mass of interconnections etc.

An example mind map (from Wikipedia)
An example mind map (from Wikipedia)

Here are a few examples. You can both draw them by hand and with mind mapping software.

To be honest,  I personally don’t use mind maps much, but they clearly deserve a page on this blog, as many people think of them as fundamental in their knowledge toolbox. I’ll add more content when my thoughts on the topic evolve. I will say, though, that they’ve indeed been useful to me when memorizing lists for exams and for brainstorming.

Mind mapping software: XMind

One of the reasons I don’t use mind maps much is the apparent lack of standards in software that support them: I don’t like the idea that my work is locked in a format particular to such or such commercial app. In the past, I knew of FreeMind, which is now popular enough that a few other apps allow importing from it. Looking at this diagram, it also seems that MindJet MindManager is another de facto standard in the field.

Problem is, FreeMind visuals are not that impressive, so up to this point I didn’t really see the advantage over plain old bullet point lists. And given my limited use of mind maps, it doesn’t make sense to shell out 350$ for MindManager (not to mention it’s Windows/Mac only).

Freemind screenshot
Freemind screenshot

But looking over the list of mind mapping software over at Wikipedia , I learned of XMIND. It’s an open source application backed by a company which also sells a Pro version. (For techies, it’s based on the Eclipse platform, and being open source makes it score point in the “lock in” dimension.) Its visual aspect is, to me, more appealing than FreeMind’s. The visuals being one of the core reasons to use mind maps in the first place, this plays a big role to my taste. Also, the GUI looks more modern. Here’s a blog post on XMIND from the point of view of someone using FreeMind everyday.

XMind screenshot
XMIND screenshot

I’ll be trying this one out for personal projects (probably book summaries, see bellow).

Interesting uses of mind maps

One interesting use of mind maps I recently saw is for book summaries/reviews. It certainly makes the documents more engaging. Here are a few examples:

Eric Blue’s personal memex and Personal Learning Environments

Just a quick pointer to an interesting post by Eric Blue on his personal knowledge management system (or Personal Learning Environment). It’s always great to see how others approach the general problem of organizing their knowledge, what they use for the different subproblems, how it reaches a “coherent whole” level.

I’ve been wanting to write here about Personal Learning Environments (PLEs) for some time. A few definitions are floating around, but my understanding is that they’re these set of digital tools we use to organize what/how we learn, considered as a whole, centered around the individual learner instead of a group (vs. Learning Management Systems, like WebCT or Moodle). A few other people have written about their own systems:

You’ve seen bits and pieces of mine through the posts, even though I learned of the term as I was creating the blog and doing the initial research, so until that point I didn’t see it in this light. Very interesting topic to explore, for the curious.

Bookmark tags and ambiguity

I was recently talking with someone about bookmarking and he mentionned it’d be great if we could simply click the star button in Firefox 3 and have it automagically add machine-selected tags to the new bookmark. I thought I had heard about similar services, but had never tried any yet. Now, I did say I now “bookmark” in a personal wiki, but I still use a few social bookmarking services for links I want to share, so this would be helpful for me in that perspective.

Searching quickly, the software that approaches this idea the most closely seems to be HandyTag, a plugin for Firefox. I haven’t tried it yet but it looks for tags in the page title and metadata, tries to see what tags users on delicious are using and, lastly, uses another Firefox extension called KGen to use word frequencies on the page as yet another source for the suggestions.

The web applications I had heard about were Zigtag and Faviki, which were mentionned in previous months on ReadWriteWeb. I haven’t yet found a way to add a 1-click bookmark with any of these, though. Both Faviki and Zigtag come as bookmarklets. Zigtag also has a Firefox extension. They both present a series of automatically generated suggestions in a box similar to Google search suggestions. For niche pages, based on 4-5 ad hoc tests, Faviki seems to have more suggestions. For popular pages, they’re competing with delicious‘ suggestions drawn from the pool of user-added tags for a given URL, which in my experience are usually adequate.

Another web app which seems promising is Favo, which its homepage says will offer automatic cataloging, but it’s still in private beta so I’m not quite sure how that’ll end up in practice.

Ambiguity in tagging systems

Both services attack the problem of lack of semantics in tags, which is about ambiguity in tagging systems: if I tag a page “Apple”, is it the fruit or the company I’m referring to? Similarly, if I want to tag a page “computers”, do I use “computers”, “computer”, “personal_computer”.

So, basically, what these services do is provide suggestions for your tags, those suggestions having proper semantics. Faviki, for example, will have tags refer to Wikipedia entries, which have well-defined meaning (given Wikipedia has its own disambiguation process). In both cases you end up having suggestions like “Apple Inc.”, “Apple (fruit)”, etc. in a completion list.

Back to productivity

On the practical level, though, the suggestions can be quite numerous, and I’m not quite sure if, from a strictly personal perspective on the bookmark-retrieve process, they’d actually improve my productivity in the end: you have to go through the whole list of disambiguated suggestions until you find what you want, and I don’t have have that many bookmarks relating to apples as a fruit. Therefore it might actually make the process more tedious. But if I want my bookmarks to merge well in public lists, then it’d make much sense, and that’s why we’re using social bookmarking in the first place, right?

Yet, for the original purpose of 1-click bookmarking, I guess it’s not very appropriate. At least, if you feel lazy, they add some machine-extracted suggestions which you didn’t have in delicious, so it makes for more pages for which you don’t have to reach for the keyboard to bookmark.

As for Favo, we’ll have to wait and see.

Effective web search

(changelog for this post)

Searching the web is something I do dozens of times a day. Often, though, I’ll start searching and, not really aware of it, spend 5-10 minutes (or more) searching until I find the right combination of keywords to get to what I want. That a direct loss in the productivity department.

Here are a few tips I accumulated over the years to search more effectively. The list will grow as I discover new/better ones.

Search engine syntax

Fundamental, and best explained straight from the horse’s mouth. This best works by doing a quick brainstorming about relevant keywords that can be combined with operators (say synonyms combined with OR).

Terms likely to be in the page

Search for words likely to be found in the page, that characterize it, instead of terms in the title and main keywords (or in combination with them). That exploits the way search engines truly work, indexing the whole contents of pages.

The clearest example I can think of is when I’m searching for the full text of a classic book I know to be online somewhere, say some Shakespeare’s play. Instead of entering the title of the book and “full text” (ex: “Othello full text”), I’ll enter a few peculiar words I know to be in the book and not likely to be found together elsewhere, for example “thicklips kinsmen Brabantio grandsire” (ie. peculiar words found in the play Othello).

Of course in this case I need the text to be able to find it (say I rented the book at the library and want an electronic version). But in some cases I can predict the words I’ll find in a page, but not in the title. This happens all the time when I’m searching for programming questions. Instead of searching directly for the question that bugs me, I enter terms found in the “context” of the question.

Find the right, precise term first

A lot of my queries are for something I know must exist, I just don’t know how it’s called. For example, I long searched rather inefficiently for open source speed reading apps until I discovered they’re actually called “Rapid Visual Serial Presentation (RSVP)” apps.

Common to those situations, once you discover the right keyword, results abound by the dozen instead of dripping in accidently once in a while. Therefore having the right technical term is often the key and finding it should be a priority.

ADDED 2009.01.24: If you want to find the name for a concept/category and you have a few examples of elements of this concept/category, a good way to find it is by inputing these examples in Google. Ex: I wanted

Choose the right engine or directory

Google is the de facto engine to start queries, these days. But keep in mind specialized engines and directories exist. Say, for programming, there are open source code search engines (something I mentionned in an earlier post). For books, I refer to Amazon reviews, normally. For definitions, Dictionary.com. For encyclopedic content, Wikipedia. Etc. The key is in discovering sites with authority for a given topic or type of content.

Take advantage of your browser’s list of search engines (ex: you can easily add new search engines in Firefox menu) for those you use frequently.

CHANGELOG

  • See “ADDED [DATE]” in the page